package com.example.itcacp.util;

import java.util.UUID;

/**
 * 生成 10 位随机数
 */
public class UUIDUtils {

    public static Long generate10DigitRandomNumber() {
        try {
            // 生成 UUID
            UUID uuid = UUID.randomUUID();
            // 获取 UUID 的大部分位数（这里使用 leastSignificantBits）
            long longValue = uuid.getLeastSignificantBits();
            // 处理可能的负数情况
            long positiveValue = Math.abs(longValue);
            // 可以根据需要截取一定长度的数字
            String numberStr = String.valueOf(positiveValue);
            if (numberStr.length() > 10) {
                numberStr = numberStr.substring(0, 10);
            } else if (numberStr.length() < 10) {
                // 如果生成的数字不足 10 位，前面补 0
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < 10 - numberStr.length(); i++) {
                    sb.append("0");
                }
                sb.append(numberStr);
                numberStr = sb.toString();
            }
            return Long.parseLong(numberStr);
        } catch (NumberFormatException e) {
            System.err.println("生成 10 位随机数时出现数字格式异常: " + e.getMessage());
            return null;
        }
    }
}    